using B.S.XZYData.ErrorCode;
using MediatR;

namespace B.S.XZYData.Api.Read.Application.Command.Account
{
    /// <summary>
    /// 获取用户选择列表命令
    /// </summary>
    public class GetAccountForSelectionCommand : IRequest<ApiPageing<AccountSelectionDTO>>
    {
        /// <summary>
        /// 账号
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// 真实姓名
        /// </summary>
        public string? RealName { get; set; }

        /// <summary>
        /// 页码
        /// </summary>
        public int Index { get; set; } = 1;

        /// <summary>
        /// 每页大小
        /// </summary>
        public int Size { get; set; } = 30;
    }

    /// <summary>
    /// 用户选择DTO
    /// </summary>
    public class AccountSelectionDTO
    {
        /// <summary>
        /// 用户ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 账号
        /// </summary>
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// 真实姓名
        /// </summary>
        public string RealName { get; set; } = string.Empty;

        /// <summary>
        /// 是否启用
        /// </summary>
        public bool IsState { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
    }
}
